Methods and systems facilitating adjustment of multiple variables via a content guidance application

ABSTRACT

Systems and methods are described for facilitating adjustment of multiple variables via a content guidance application. The method comprises generating, for display via a graphical user interface of a touchscreen, a first axis defining a first scale for a first adjustment characteristic. The method further comprises assigning to the first adjustment characteristic a plurality of first variables stored in memory. The method further comprises detecting, via the touchscreen, a touch input having a component along the first axis for adjusting the first adjustment characteristic. The method further comprises, in response to detecting the touch input, adjusting, in the memory, each of the plurality of first variables assigned to the first adjustment characteristic based on the touch input and the first scale.

BACKGROUND

The present disclosure relates to facilitating adjustment of multiplevariables via a content guidance application, and in particular, but notexclusively, relates to simultaneously adjusting multiple variables forretrieving a recommendation for media content.

SUMMARY

As the amount of content available to users for consumption continues toincrease, it becomes more difficult for a user to search for content ofinterest. For example, a user may wish to search for content based onmore than one search parameter, such as rating, genre, actor, releasedate, etc. A conventional content guidance application may allow a userto search for content based on a keyword, e.g., an actor's name, or evento sort a set of results using one or more filters. However, suchapproaches may become increasingly cumbersome to implement given thelarge number of variables a user may wish to quickly adjust in order tonarrow search results.

Additionally, with an increasing amount of available content, it becomesmore difficult for a system to automatically provide relevantrecommendations to a user. For example, a conventional recommendationsystem may provide recommendations to a user based on their mediaconsumption history, search history, or user profile, for example.However, a user's interest may vary depending on their mood, time ofday, or if they are accompanied by another person, such as a child. Insuch cases, conventional systems may fail to identify the currentinterest and intent of the user while providing recommendations.

Furthermore, the number of settings that a user can adjust on userequipment via a media guidance application, such as audio and displaysettings, typically requires a user to scroll back and forth through aseries of menus to obtain the desired overall setting. Thus, it isdesirable to allow the user to set up quick access to simultaneouslyadjust multiple settings, e.g., both the volume of an audio system andthe brightness of a display or lighting system, with a single userinput.

Systems and methods are provided herein for facilitating adjustment ofmultiple variables, for example via a content guidance application.

According to the systems and methods provided herein, a first axis,e.g., an x-axis, is generated on a graphical user interface (GUI), thefirst axis defining a first scale for a first adjustment characteristic.A plurality of first variables stored in memory are assigned to thefirst adjustment characteristic. Each of the variables may be aquantitative variable, such as duration of a content item, or aqualitative variable, such as a preferred artist. An input, e.g.,comprising at least one of a touch input and a gesture input, isdetected having a component along the first axis for adjusting the firstadjustment characteristic. In response to detecting the input, each ofthe plurality of the first variables assigned to the first adjustmentcharacteristic are adjusted, e.g., simultaneously, based on the inputand the first scale.

In some embodiments, a second axis, e.g., a y-axis, is generated on thegraphical user interface, the second axis defining a second scale for asecond adjustment characteristic. At least one second variable stored inthe memory is assigned to the second adjustment characteristic. Thedetected input may have a component along the second axis for adjustingthe second adjustment characteristic. In response to detecting theinput, each of the one or more second variables assigned to the secondadjustment characteristic is adjusted, e.g., simultaneously, based onthe input and the second scale, e.g., in addition to each of theplurality of first variables assigned to the first adjustmentcharacteristic.

In some embodiments, at least one of the first variables assigned to thefirst adjustment characteristic is a quantitative variable. In someembodiments, at least one of the first variables assigned to the firstadjustment characteristic is a qualitative variable. In someembodiments, each, or all, of the first variables assigned to the firstadjustment characteristic is a quantitative variable. In someembodiments, each, or all, of the first variables assigned to the firstadjustment characteristic is a qualitative variable.

In some embodiments, at least one of the second variables assigned tothe second adjustment characteristic is a quantitative variable. In someembodiments, at least one of the second variables assigned to the secondadjustment characteristic is a qualitative variable. In someembodiments, each, or all, of the second variables assigned to thesecond adjustment characteristic is a quantitative variable. In someembodiments, each, or all, of the second variables assigned to thesecond adjustment characteristic is a qualitative variable.

In some embodiments, one of the first variables assigned to the firstadjustment characteristic is the same as one of the second variablesassigned to the second adjustment characteristic, e.g., each of thefirst adjustment characteristic and the second adjustment characteristicmay be assigned the variable “content duration”. In some embodiments,the second scale for the second adjustment characteristic may have ahigher resolution than the first scale for the first adjustmentcharacteristic. For example, the resolution of the variable “contentduration” assigned to the first adjustment characteristic may have aresolution of minutes, and the resolution of the variable “contentduration” assigned to the second adjustment characteristic may have aresolution of seconds.

In some embodiments, the assignment of a first variable to the firstadjustment characteristic may determine, or influence, the assignment ofa second variable to the first adjustment characteristic. For example,where a quantitative variable is assigned as the first variable, theassignment of the second variable may be limited to another quantitativevariable. In this manner, the assignment of variables to the firstadjustment characteristic may exhibit dependency on one another. In anexample where a second axis is generated, the assignment of one or morevariables to the first adjustment characteristic may determine, orinfluence, the assignment of one or more variables to the secondadjustment characteristic. In one example, a variable assigned to thesecond adjustment characteristic may be a subset of a variable assignedto the first adjustment characteristic. In some embodiments, variablesmay be assigned automatically to the second adjustment characteristicbased on the assignment of at least one of the plurality of variables tothe first adjustment characteristic. In some embodiments, variables maybe assigned automatically to at least one of the first and secondadjustment characteristics based one or more preferences stored in auser profile.

In some embodiments, a set of content items, e.g., stored in a contentdatabase, may be accessed. In some embodiments, one or more contentitems may be selected from the set of content items based on the firstadjustment characteristic. In some embodiments, an indicator of theselected one or more content items is generated for display to a user.The indicator may comprise a link to access the one or more contentitems, e.g., for immediate consumption or for recording. In someembodiments, one or more variables assigned to the first adjustmentcharacteristic may be updated, e.g., automatically, based on theselected one or more content items.

In some embodiments, at least one of the first adjustment characteristicand the second adjustment characteristic may be set to a minimumthreshold based on detecting the user input, e.g., a first point ofcontact of a user input to a touchscreen display. For example, where thevariable “content duration” is assigned to an adjustment characteristic,the value of the variable “content duration” may be set to zero uponfirst detection of the user input.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the disclosure will beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIGS. 1A and 1B illustrate an exemplary system and method forfacilitating adjustment of multiple variables via a content guidanceapplication, in accordance with some embodiments of the disclosure;

FIG. 2 is a block diagram showing components of an exemplary system forfacilitating adjustment of multiple variables via a content guidanceapplication, in accordance with some embodiments of the disclosure;

FIG. 3 is a flowchart representing a process for facilitating adjustmentof multiple variables via a content guidance application, in accordancewith some embodiments of the disclosure;

FIG. 4 illustrates an exemplary system and method for facilitatingadjustment of multiple variables via a content guidance application, inaccordance with some embodiments of the disclosure; and

FIG. 5 is a flowchart representing a process for facilitating adjustmentof multiple variables via a content guidance application and retrievingrecommendations corresponding to the adjusted multiple variables, inaccordance with some embodiments of the disclosure.

DETAILED DESCRIPTION

The amount of content available to users in any given content deliverysystem can be substantial. Consequently, many users desire a form ofmedia guidance through an interface that allows users to efficientlynavigate content selections and easily identify content that they maydesire. An application that provides such guidance is referred to hereinas an interactive content guidance application or, sometimes, a contentguidance application, a media guidance application, or a guidanceapplication.

Interactive media guidance applications may take various forms dependingon the content for which they provide guidance. One typical type ofmedia guidance application is an interactive television program guide.Interactive television program guides (sometimes referred to aselectronic program guides) are well-known guidance applications that,among other things, allow users to navigate among and locate many typesof content or media assets. Interactive media guidance applications maygenerate graphical user interface screens that enable a user to navigateamong, locate and select content. As referred to herein, the terms“media asset” and “content” should be understood to mean anelectronically consumable user asset, such as television programming, aswell as pay-per-view programs, on-demand programs (as in video-on-demand(VOD) systems), Internet content (e.g., streaming content, downloadablecontent, Webcasts, etc.), video clips, audio, content information,pictures, rotating images, documents, playlists, websites, articles,books, electronic books, blogs, chat sessions, social media,applications, games, and/or any other media or multimedia and/orcombination of the same. Guidance applications also allow users tonavigate amid and locate content. As referred to herein, the term“multimedia” should be understood to mean content that utilizes at leasttwo different content forms described above, for example, text, audio,images, video, or interactivity content forms. Content may be recorded,played, displayed or accessed by user equipment devices, but can also bepart of a live performance.

The media guidance application and/or any instructions for performingany of the embodiments discussed herein may be encoded oncomputer-readable media. Computer-readable media includes any mediacapable of storing data. The computer-readable media may be transitory,including, but not limited to, propagating electrical or electromagneticsignals, or may be non-transitory, including, but not limited to,volatile and non-volatile computer memory or storage devices such as ahard disk, floppy disk, USB drive, DVD, CD, media cards, registermemory, processor caches, Random Access Memory (RAM), etc.

With the ever-improving capabilities of the Internet, mobile computing,and high-speed wireless networks, users are accessing media on userequipment devices on which they traditionally did not. As referred toherein, the phrases “user equipment device,” “user equipment,” “userdevice,” “electronic device,” “electronic equipment,” “media equipmentdevice,” or “media device” should be understood to mean any device foraccessing the content described above, such as a television, a Smart TV,a set-top box, an integrated receiver decoder (IRD) for handlingsatellite television, a digital storage device, a digital media receiver(DMR), a digital media adapter (DMA), a streaming media device, a DVDplayer, a DVD recorder, a connected DVD, a local media server, a BLU-RAYplayer, a BLU-RAY recorder, a personal computer (PC), a laptop computer,a tablet computer, a WebTV box, a personal computer television (PC/TV),a PC media server, a PC media center, a hand-held computer, a stationarytelephone, a personal digital assistant (PDA), a mobile telephone, aportable video player, a portable music player, a portable gamingmachine, a smartphone, or any other television equipment, computingequipment, or wireless device, and/or combination of the same. In someembodiments, the user equipment device may have a front-facing screenand a rear-facing screen, multiple front screens, or multiple angledscreens. In some embodiments, the user equipment device may have afront-facing camera and/or a rear-facing camera. On these user equipmentdevices, users may be able to navigate among and locate the same contentavailable through a television. Consequently, media guidance may beavailable on these devices, as well. The guidance provided may be forcontent available only through a television, for content available onlythrough one or more of other types of user equipment devices, or forcontent available through both a television and one or more of the othertypes of user equipment devices. The media guidance applications may beprovided as online applications (i.e., provided on a website), or asstand-alone applications or clients on user equipment devices. Variousdevices and platforms that may implement media guidance applications aredescribed in more detail below.

One of the functions of the media guidance application is to providemedia guidance data to users. As referred to herein, the phrase “mediaguidance data” or “guidance data” should be understood to mean any datarelated to content or data used in operating the guidance application.For example, the guidance data may include program information, guidanceapplication settings, user preferences, user profile information, medialistings, media-related information (e.g., broadcast times, broadcastchannels, titles, descriptions, ratings information (e.g., parentalcontrol ratings, critics' ratings, etc.), genre or category information,actor information, logo data for broadcasters' or providers' logos,etc.), media format (e.g., standard definition, high definition, 3D,etc.), on-demand information, blogs, websites, and any other type ofguidance data that is helpful for a user to navigate among and locatedesired content selections.

FIGS. 1A and 1B show an exemplary user device 100 having a touchscreen102 for facilitating adjustment of multiple variables via, e.g., using acontent guidance application. In the example shown in FIGS. 1A and 1B,the user device 100 is configured to generate, for display via agraphical user interface of the touchscreen 102, a first axis 104defining a first scale for a first adjustment characteristic, and asecond axis 106 defining a second scale for a second adjustmentcharacteristic. In some examples, the first and second axes may bearranged on axes (e.g., +x, −x, +y, −y) of a Cartesian coordinate plane.However, the axes may be arranged in any appropriate manner. The scaleof each of the axes may be set according to one or more variables thatare assigned to the respective adjustment characteristics. For example,the scale of each axis may be a numerical scale, e.g., a scale from 0 to10; an alphabetical scale; e.g., a scale from A to Z; or a scale thatcorrelates to one or more parameters defined in a user profile, e.g., apreference for or against certain genres of content.

In the context of the present application, the term “adjustmentcharacteristic” refers to a variable or set of variables that a user maywish to change in order to characterize a particular user intent, e.g.,when searching for recommended media content, or when controlling theoperation of one or more user equipment devices. For example, oneadjustment characteristic may define a set of variables that set searchcriteria (rating, actor, release date, etc.) when searching for mediacontent. Another adjustment characteristic may define a set of variablesthat control the overall audio-visual settings of user equipment, suchas a TV. Another adjustment characteristic may define a set of variablesthat control respective variables used in the operation of differentuser equipment devices, e.g., that are connected via a (home) network.The variable or variables may be stored on memory of the user device100, or on a remote memory with which the user device 100 iscommunicable.

In the context of performing a search for media content, a variable mayinclude, but not be limited to, any of genre, sub-genre, cast, actors,director, producer, studio, cinematography, music, sound, score, releasedate, a rating, comments (content and/or number of), reviews (contentand/or number of), story detail, plotline, script, screenplay, dialogue,set, filming location, language, subtitles, performance artist,instrument, instrument predominance, or any other appropriate variableas will be understood by those of skill in the art. A variable mayinclude a group of at least one of the above-listed variables, such as agroup of genres, a group of actors, or a group (or range) of releasedates, among others.

In the context of controlling user equipment, a variable may include,but not be limited to, any of a display setting, such as brightness,color, color balance, sharpness, contrast, or gamma correction, etc.; anaudio setting, such as volume, balance, bass, treble, etc.; a lightingsetting, such as the brightness, tone, shade, etc., a climate setting,such as temperature, humidity, etc., a navigational setting, such asroute, estimated time, distance, traffic, route quality, e.g., howscenic a route is, how urban a route is, road characteristics along aroute, etc.; or any other appropriate variable as will be understood bythose of skill in the art. A variable may include a group of at leastone of the above-listed variables, such as a setting for a group ofdisplays, and/or a setting for a group of lights in a lighting system,among others.

In one example, a user may select one or more variables to assign to anadjustment characteristic. For example, the content guidance applicationmay be configured to display one or more menus on the touchscreen 102from which a user may select a variable or variables to assign to one ormore of the adjustment characteristics. In the example shown in FIGS. 1Aand 1B, the user's intent is to search for recommended content from aset of content items based on a set of user-defined variables, e.g., therelease date of the content, the rating of the content, and the genre ofthe content, since the user is interested, e.g., at a certain time, inwatching only newer and more highly rated movies of a certain genre. Inthis case, the user has assigned the variables “release date” and“rating” to the first adjustment characteristic on the first axis 104,and has assigned the variable “romantic comedy” to the second adjustmentcharacteristic on the second axis 106. The scale of each of the axes maybe determined automatically depending on the chosen variable, e.g., maybe set to default values, such as a scale from a minimum value to amaximum value, or may be defined by the user. For example, since theuser in this example has chosen to assign two variables that are definednumerically to the first adjustment characteristic, the scale of thefirst axis may be set such that the origin of the first axis (x=0)corresponds to a lower numerical value that increases along the axis(x+). In this manner, a point towards the origin of the first axis (x=0)may represent a content item having a lower rating and an earlierrelease date, whereas a point away from the origin of the first axis(x+) may represent a content item having a higher rating and a laterrelease date.

In one example, the user may set a desired range for one or more of thevariables. For example, the content guidance application may beconfigured to provide an option for the user to adjust the range of aselected variable, e.g., the user may receive a prompt to adjust therange of a selected variable just after the user has selected thevariable. In the example shown in FIGS. 1A and 1B, the user may set therange of the rating to a subset of the total range, e.g., to a rating of5 to 10 out of 10, or to a rating of 3 stars or above. In a similarmanner, the user may set the range of the release dates to a desiredrange of dates. For example, the user may wish to consider watching onlycontent from the last 5 years, and may wish to discount any earlierreleased content items from the search.

In another example, the scale may be set based on data stored in a userprofile, which may be automatically updated and/or manually updated bythe user. For example, a user profile may be stored in memory that isaccessed whenever the user assigns a variable to an adjustmentcharacteristic. The user profile may store one or more user preferencesrelating to one or more variables, e.g., a preference for content itemshaving a certain actor or group of actors. For example, the user profilemay store preferences for rating and release date, so that the user neednot set the desired range each time they assign a variable to anadjustment characteristic.

Turning to the second adjustment characteristic, the user has set thevariable as the genre of content relating to “romantic comedy”. In thiscase, the scale of the second axis may be determined by how closely acontent item matches the chosen genre. For example, the user device 100may have access to a database storing metadata relating to a set ofcontent items. The metadata may contain information relating to thegenre of the content item, amongst other information as will beunderstood by those of skill in the art, such as rating or release date,or any of the other variables defined above. A matching algorithm mayrank the content items depending on how well each of the content itemsmatches the assigned variable. For example, a movie such as “ThePhiladelphia Story” may rank highly as a match, e.g., a 95% match, tothe genre “romantic comedy”, whereas the movie “Predator” may rank loweras a match, e.g., a 5% match, to the genre “romantic comedy”, e.g.,based on metadata stored in memory and/or other metadata accessible tothe user device 100. In a similar manner to the variables assigned tothe first adjustment characteristic, the user may set a desired rangefor one or more of the variables assigned to the second adjustmentcharacteristic. For example, the user may wish to only search within asubset of the content items that have a match above a certainpercentage, e.g., 75%, to the selected genre. In this manner, a pointtowards the origin of the second axis (y=0) may represent a content itemhaving a lower-ranked match to the assigned genre of “romantic comedy”,whereas a point away from the origin of the second axis (y+) mayrepresent a content item having a higher ranked match to the assignedgenre of “romantic comedy”.

In another example, the user may have assigned the broader variable“genre” to the second adjustment characteristic. In such a case, the setof content items may be grouped by genre and ordered alphabetically,such that a point towards the origin of the second axis (y=0) mayrepresent a content item belonging to a genre beginning with “A”, e.g.,“Action”, whereas a point away from the origin of the second axis (y+)may represent a content item belonging to a genre beginning with “S”,e.g., “science fiction”.

In another example, a broader variable, such as “genre”, or any otherappropriate qualitative variable, may be ranked based on the user'sprofile. For example, the user's profile may indicate that the user hasa preference for the genres “crime” and “thriller”, and a preferenceagainst the genres “fantasy” and “kids”. In such a case, the set ofcontent items may be grouped by genre and ordered by correlation to theuser's preferences, such that a point towards the origin of the secondaxis (y=0) may represent a content item having a lower correlation tothe genres “crime” and “thriller” and a higher correlation to the genres“fantasy” and “kids”, whereas a point away from the origin of the secondaxis (y+) may represent a content item having a higher correlation tothe genres “crime” and “thriller” and a lower correlation to the genres“fantasy” and “kids”.

Returning to the example where the user has assigned the variables“release date” and “rating” to the first adjustment characteristic andthe variable “romantic comedy” to the second adjustment characteristic,the user device 100 is configured to detect, via the touchscreen 102, atouch input 108 having a component along the first axis 104 foradjusting the first adjustment characteristic and a component along thesecond axis 106 for adjusting the second adjustment characteristic. Inthe example shown in FIGS. 1A and 1B, the touch input 108 starts at afirst point 110 towards the origin of the axes (x=0, y=0) and movesdiagonally away from the origin towards a second point 112. However, thetouch input 108 may be any input having a component along at least oneof the first and second axes 104, 106. Further the touch input 108 isnot limited to movement between the first and second points 110, 112shown in FIGS. 1A and 1B. For example, the touch input 108 may compriseany number of separate or continuous, straight or curved movementshaving a component along at least one of the first and second axes.

In response to detecting the touch input 108 having a component alongthe first axis (x-direction), the user device 100 causes the adjustmentof, in the memory, each of the variables (“rating” and “release date”)assigned to the first adjustment characteristic based on the touch input108 and the first scale. In response to detecting the touch input 108having a component along the second axis, the user device 100 causes theadjustment of, in the memory, the variable (“romantic comedy”) assignedto the second adjustment characteristic based on the touch input 108 andthe second scale. In this manner, the user is able to adjust a pluralityof variables using a single touch input. Importantly, the user is ableto adjust a plurality of variables even where the touch input comprisesa component along (only) one axis, e.g., the first axis 104.

In the context of searching for recommended content items, the benefitof adjusting a plurality of variables at once is that relevant contentitems may be identified to the user in a more efficient manner, sincecompound search criteria may be adjusted using a single user input. Forexample, using the example shown in FIGS. 1A and 1B, the user is able toquickly set each of the variables for “rating”, “release date” and“romantic comedy” to a desired value, e.g., a rating of 6 out of 10 (orabove), a release date of after a particular date, and content itemshaving a match to the genre “romantic comedy” equal to or above adesired ranking, such as a 75% match.

In one example, the user device 100 may be configured to display, e.g.,in real time, how the assigned variables are adjusted depending on theposition of the user's touch input 108 on the touchscreen 102. Forexample, FIG. 1A shows a display item 114 showing the relative values ofthe assigned variables when the touch input is at the first point 110,and FIG. 1B shows an updated display item 116 showing the relativevalues of the assigned variables when the touch input is at the secondpoint 112. In this manner, the user is able to simultaneously altervalues of multiple variables to obtain a specific scheme for whichrecommendations can be retrieved or discovered.

It will be appreciated that the assigned variables “rating”, “releasedate” and “genre” in the above example are chosen merely to illustrateone of many different use cases, and the present disclosure is notlimited to facilitating the adjustment of those specific variables. Inone embodiment of the present disclosure, the method may comprisegenerating only a single axis, e.g., a first axis, defining a firstscale for a first adjustment characteristic, and assigning to the firstadjustment characteristic a plurality of first variables stored inmemory. For example, the guidance application may be configured tocontrol, based on the variables stored in memory, the operation of otheruser equipment, such as a lighting system and audio-visual equipment,e.g., that are connected to a (home) network. In one example, a variable“brightness” (relating to the lighting system) and a variable “volume”(relating to the audio-visual equipment) may be assigned to the firstadjustment characteristic, such that a single user input, e.g., a touchor gesture input, having a component along the first axis causes each ofthe variables “brightness” and “volume” to be adjusted at the same time.In this manner, a user is able to control the operation of multipledevices at the same time with a single input. In another example, theguidance application may be configured to control a navigational system,e.g., a “sat-nay” device or a smartphone. For example, a variable“estimated time” and a variable “distance” may be assigned to a firstadjustment characteristic, and a variable “route quality=scenic” may beassigned to a second adjustment characteristic. In this manner, a useris a able to simultaneously adjust route parameters, e.g., route totaldistance, estimated time of arrival and how scenic a route is whensearching for a preferred route(s) between points on a map.

FIG. 2 is an illustrative block diagram showing additional details of anexample of system 200 for facilitating adjustment of multiple variablesvia a content guidance application, in accordance with some embodimentsof the disclosure. Although FIG. 2 shows system 200 as including anumber and configuration of individual components, in some embodiments,any number of the components of system 200 may be combined and/orintegrated as one device, e.g., user device 100. System 200 includescomputing device 202, server 204, and content database 206, each ofwhich is communicatively coupled to communication network 208, which maybe the Internet or any other suitable network or group of networks. Insome embodiments, system 200 excludes server 204, and functionality thatwould otherwise be implemented by server 204 is instead implemented byother components of system 200, such as computing device 202. In stillother embodiments, server 204 works in conjunction with computing device202 to implement certain functionality described herein in a distributedor cooperative manner.

Server 204 includes control circuitry 210 and input/output (hereinafter“I/O”) path 212, and control circuitry 210 includes storage 214 andprocessing circuitry 216. Computing device 202, which may be a personalcomputer, a laptop computer, a tablet computer, a smartphone, a smarttelevision, a smart speaker, or any other type of computing device,includes control circuitry 218, I/O path 220, speaker 222, display 224,e.g., touchscreen 102, and user input interface 226, which in someembodiments includes at least one of voice-user interface configured toreceive natural language queries uttered by users in proximity tocomputing device 202; and a touch/gesture interface configured toreceive a touch/gesture input, e.g., a swipe. Control circuitry 218includes storage 228 and processing circuitry 230. Control circuitry 210and/or 218 may be based on any suitable processing circuitry such asprocessing circuitry 216 and/or 230. As referred to herein, processingcircuitry should be understood to mean circuitry based on one or moremicroprocessors, microcontrollers, digital signal processors,programmable logic devices, field-programmable gate arrays (FPGAs),application-specific integrated circuits (ASICs), etc., and may includea multi-core processor (e.g., dual-core, quad-core, hexa-core, or anysuitable number of cores). In some embodiments, processing circuitry maybe distributed across multiple separate processors, for example,multiple of the same type of processors (e.g., two Intel Core i9processors) or multiple different processors (e.g., an Intel Core i7processor and an Intel Core i9 processor).

Each of storage 214, storage 228, and/or storages of other components ofsystem 200 (e.g., storages of content database 206, and/or the like) maybe an electronic storage device. As referred to herein, the phrase“electronic storage device” or “storage device” should be understood tomean any device for storing electronic data, computer software, orfirmware, such as random-access memory, read-only memory, hard drives,optical drives, digital video disc (DVD) recorders, compact disc (CD)recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3D disc recorders,digital video recorders (DVRs, sometimes called personal videorecorders, or PVRs), solid state devices, quantum storage devices,gaming consoles, gaming media, or any other suitable fixed or removablestorage devices, and/or any combination of the same. Each of storage214, storage 228, and/or storages of other components of system 200 maybe used to store various types of content, metadata, and or other typesof data. Non-volatile memory may also be used (e.g., to launch a boot-uproutine and other instructions). Cloud-based storage may be used tosupplement storages 214, 228 or instead of storages 214, 228. In someembodiments, control circuitry 210 and/or 218 executes instructions foran application stored in memory (e.g., storage 214 and/or 228).Specifically, control circuitry 214 and/or 228 may be instructed by theapplication to perform the functions discussed herein. In someimplementations, any action performed by control circuitry 214 and/or228 may be based on instructions received from the application. Forexample, the application may be implemented as software or a set ofexecutable instructions that may be stored in storage 214 and/or 228 andexecuted by control circuitry 214 and/or 228. In some embodiments, theapplication may be a client/server application where only a clientapplication resides on computing device 202, and a server applicationresides on server 204.

The application may be implemented using any suitable architecture. Forexample, it may be a stand-alone application wholly implemented oncomputing device 202. In such an approach, instructions for theapplication are stored locally (e.g., in storage 228), and data for useby the application is downloaded on a periodic basis (e.g., from anout-of-band feed, from an Internet resource, or using another suitableapproach). Control circuitry 218 may retrieve instructions for theapplication from storage 228 and process the instructions to perform thefunctionality described herein. Based on the processed instructions,control circuitry 218 may determine what action to perform when input isreceived from user input interface 226.

In client/server-based embodiments, control circuitry 218 may includecommunication circuitry suitable for communicating with an applicationserver (e.g., server 204) or other networks or servers. The instructionsfor carrying out the functionality described herein may be stored on theapplication server. Communication circuitry may include a cable modem,an Ethernet card, or a wireless modem for communication with otherequipment, or any other suitable communication circuitry. Suchcommunication may involve the Internet or any other suitablecommunication networks or paths (e.g., communication network 208). Inanother example of a client/server-based application, control circuitry218 runs a web browser that interprets web pages provided by a remoteserver (e.g., server 204). For example, the remote server may store theinstructions for the application in a storage device. The remote servermay process the stored instructions using circuitry (e.g., controlcircuitry 210) and/or generate displays. Computing device 202 mayreceive the displays generated by the remote server and may display thecontent of the displays locally via display 224. This way, theprocessing of the instructions is performed remotely (e.g., by server204) while the resulting displays, such as the display windows describedelsewhere herein, are provided locally on computing device 202.Computing device 202 may receive inputs from the user via inputinterface 226 and transmit those inputs to the remote server forprocessing and generating the corresponding displays.

A user may send instructions to control circuitry 210 and/or 218 usinguser input interface 226. User input interface 226 may be any suitableuser interface, such as a remote control, trackball, keypad, keyboard,touchscreen, touchpad, stylus input, joystick, voice recognitioninterface, gaming controller, or other user input interfaces. User inputinterface 226 may be integrated with or combined with display 224, whichmay be a monitor, a television, a liquid crystal display (LCD), anelectronic ink display, or any other equipment suitable for displayingvisual images.

Server 204 and computing device 202 may transmit and receive content anddata via I/O path 212 and 220, respectively. For instance, I/O path 212and/or I/O path 220 may include a communication port(s) configured totransmit and/or receive (for instance to and/or from content database206), via communication network 208, content item identifiers, contentmetadata, natural language queries, and/or other data. Control circuitry210, 218 may be used to send and receive commands, requests, and othersuitable data using I/O paths 212, 220.

FIG. 3 is a flowchart representing an illustrative process 300 forfacilitating adjustment of multiple variables via a content guidanceapplication, which may be implemented by at least one of user device 100and system 200, in accordance with some embodiments of the disclosure.At step 302, control circuitry 210 and/or 218 generates, for display viaa graphical user interface, e.g., a graphical user interface displayedon touchscreen 102 or display 224, a first axis defining a first scalefor a first adjustment characteristic. The method 300 may also comprisea step of generating, for display via the graphical user interface, asecond axis defining a second scale for a second adjustmentcharacteristic.

The process 300 comprises step 304 of assigning to the first adjustmentcharacteristic a plurality of first variables stored in memory. Forexample, step 304 may be performed using control circuitry 210 and/or218. Process 300 may comprise, e.g., before step 304, receiving auser-selected input for at least one of the plurality of first variablesstored in memory, e.g., storage 214, 228. For example, process 300 maycomprise receiving a user selection for a first variable, e.g., “rating”relating to a content item (e.g., an aggregate score associated with thecontent item based on multiple user ratings), and for a second variable,e.g., “number of reviews” relating to a content item (i.e., the numberof people that have submitted a review for a content item). Such datarelating to a content item may be stored in memory, e.g., storage 214,228. In such an example, the user's intent might be to discover highlyrated content items, e.g., that are stored in content database 206, thathave received a high level of critique from reviewers, so that the usercan make an informed decision on whether to consume the content item.Additionally or alternatively, process 300 may comprise assigning atleast one of the first plurality of variables based on one or more userpreferences, stored in the memory, e.g., storage 214, 228. Storage 214and/or storage 228 may be configured to store a list of variables, e.g.,in a database that may be accessed during the assignment of thevariables in step 304.

The process 300 may comprise a step of determining or setting the scalefor the first adjustment characteristic. For example, the contentguidance application may be configured to provide an option for the userto adjust the range of a selected variable, and how the range is mappedonto the first axis. For example, the user may set the range of the“rating” variable to a sub-set of the total range, e.g., to a rating of5 to 10 out of 10, such that the scale for the first adjustmentcharacteristic on the first axis runs from 5 to 10 in relation to thevariable “rating”. In a similar manner, the user may set the range ofthe variable “number of reviews” to a desired numerical range, such thatthe scale for the first adjustment characteristic on the first axis runsfrom 50 to 100 in relation to the variable “number of reviews”. Forexample, the user may wish to consider watching only content having arating above 5 out of 10 and with a high number of reviews, and may wishto discount any lower-rated content or content with a lower number ofreviews. In another example, the process 300 may comprise a step ofdetermining or setting the scale for the first adjustment characteristicbased on data stored in a user profile, which may be automaticallyand/or manually updated by the user. For example, a user profile may bestored in memory, such as storage 214, 228, that is accessed whenever avariable is assigned to an adjustment characteristic. The user profilemay store one or more user preferences relating to one or morevariables, e.g., a preference for content items having a certain actoror group of actors. For example, the user profile may store preferencesfor rating and release date, so that the user need not set the desiredscale each time they assign a variable to an adjustment characteristic.

The process 300 comprises step 306 of detecting an input, e.g., a touchinput and/or a gesture input, having a component along the first axisfor adjusting the first adjustment characteristic. For example, step 306may be performed using at least one of control circuitry 218, display224 (e.g., where display 224 comprises a touchscreen display), and userinput interface 226. In some embodiments, where the input is a touchinput received at a touchscreen, such as that in the example shown inFIGS. 1A and 1B, the media guidance application may detect that thetouch input comprises a first contact point of the touch input, e.g.,point 110 shown in FIGS. 1A and 1B, by accessing an applicationprogramming interface (API) associated with the touchscreen andretrieving metadata associated with the first contact point. Themetadata associated with the first contact point may comprise any datathat describes the first contact point, including, for example, alocation (such as (x,y) coordinates on the touchscreen), a surface areaof the first contact point, and/or a touch pressure of the first contactpoint. In some embodiments, the API of the touchscreen may also returnone or more of the following: a timestamp associated with a start ofcontact, a timestamp associated with the removal of contact, and/or aduration of contact. For example, the API of the touchscreen mayregister a “start event” at the time that contact is first detected onthe touchscreen, e.g., at point 110 shown in FIGS. 1A and 1B. The APImay register an “end event” at a time that contact is removed from thetouchscreen, e.g., at point 112 shown in FIGS. 1A and 1B. The API maysubtract a timestamp associated with the “end event” from a timestampassociated with the “start event” to determine a duration of thecontact. The API may also register a “transition event” between the“start event” and the “end event.” In some embodiments, the “transitionevent” may be registered in response to a movement or a swipe motion ofthe contact, e.g., movement between points 110 and 112 shown in FIGS. 1Aand 1B. The transition event may register any one of the following: atimestamp for the beginning of movement, a timestamp for the end ofmovement, a distance of the movement, a direction of the movement, astart and/or end point of the movement, a velocity of the movement, andan acceleration of the movement.

In some embodiments, the media guidance application may detect a touchpressure associated with each touch point and adjust the first and/orsecond adjustment characteristics based on the detected touch pressure,or a change in detected touch pressure, either alone or in combinationwith a change in a component along the first and/or second axes.

In response to detecting the touch input, the process 300 comprises step308 of adjusting, in the memory, each of the plurality of firstvariables assigned to the first adjustment characteristic based on thetouch input and the first scale. For example, adjusting each of theplurality of first variables may comprise adjusting, using controlcircuitry 210 and/or 218, a parameter described or defined by thevariable, e.g., a numerical value, alphabetical character associatedwith the variable, and or a user preference associated with thevariable, based on a detected change in position of a contact point ofthe touch input along the first axis. For example, where the variables“rating” and “number of reviews” have been assigned to the firstadjustment characteristic, both of the numerical value for “rating” andthe numerical value for “number of reviews” are adjusted simultaneouslyas the touch input changes the component along the first axis. Forexample, upon detection of a first contact point, the content guidanceapplication may assign a first value to each of the variables “rating”and “number of reviews” based on the position of the first contact pointrelative to the first axis (e.g., relative to the origin of the firstaxis). In response to detecting a change in the touch input, e.g.,movement of the contact point along the first axis, the content guidanceapplication may assign a second value, e.g., an updated value, to eachof the variables “rating” and “number of reviews” based on the newposition of the contact point relative to the first axis (e.g., relativeto the origin of the first axis along the first axis). For example,where the first contact point of the touch input is detected at a pointat or towards the origin (x=0) of the first axis, and a transition eventis registered that moves the contact point of the touch input away fromthe origin of the first axis along the first axis, control circuitry210, 218 may cause the numerical value assigned to the variable “rating”to change from “5.5” to “8.5” and the numerical value assigned to thevariable “number of reviews” to change from “50” to “100”, for example.

The process 300 may comprise a step of generating for display, usingcontrol circuitry 210, control circuitry 218, and/or display 224, therelative values of the assigned variables. For example, the display 224may comprise a display item, such as item 114 and item 116 in theexample shown in FIGS. 1A and 1B, that displays the relative values ofthe assigned variables in response to detecting a change in the touchinput. In one example, a display item may be generated at the time thatcontact is first detected on the touchscreen, the display itemdisplaying the numerical values of the assigned variable that correspondto the position of the first contact point relative to the first axis,e.g., relative to the origin of the first axis along the first axis. Inresponse to detecting a change in the touch input, the display item maybe updated, e.g., in real time, as the touch input changes, such thatthe display item is displaying the numerical values of the assignedvariable that correspond to the changed position of the first contactpoint relative to the first axis, e.g., relative to the origin of thefirst axis along the first axis. In this manner, the user is able tosimultaneously set both of the assigned variables using a single inputalong a single axis. One benefit of doing so is that separate axes ofadjustment are not required for multiple variables, which makes theaction of setting or updating a set of search criteria more efficient.Another benefit is that variables that represent similar characteristicsmay be clustered (i.e., assigned to the same adjustment characteristic)so that they can be adjusted simultaneously.

At step 310, control circuitry 210 and/or 218 accesses a set of contentitems stored in content database 206, either directly or usingcommunications network 208. Each of the content items may have metadataassociated with it describing one or more attributes of the contentitem, such as its genre, release date, rating, etc., that correspond tothe variables stored in memory, e.g., storage 214 and/or 228.

At step 312, control circuitry 210 and/or 218 selects one or morecontent items based on the first adjustment characteristic. For example,process 300 may comprise matching a content item attribute to a variableassigned to the first adjustment characteristic. Taking the aboveexample of the variables “rating” and “number of reviews” being assignedto the first adjustment characteristic, process 300 may comprise a stepof sorting, e.g., filtering, the set of content items according to therespective values of the assigned variables. For example, at the timethat contact is first detected on the touchscreen, the values assignedto the variables “rating” and “number of reviews” may be “5.5” and “50”respectively, depending on the position of the touch input relative tothe first axis. As such, the set of content items may be categorizedinto a subset containing those, e.g., only those, content items having arating equal to or above 5.5 and/or a number of reviews equal to orabove 50. In this manner, a set of content items may be sorted into anappropriate subset characterized by multiple variables by virtue of asingle user touch input having a directional component along only oneaxis.

At step 314, the control circuitry 210 and/or 218 causes the display ofan indicator of the selected one or more content items, e.g., on display224. For example, control circuitry 210 and/or 218 may cause arepresentative description, image and/or clip of the content item to bedisplayed so that the user can see which content item(s) from the set ofcontent items correspond to the current values of the variables assignedto the first adjustment characteristic. In one example, the indicatormay comprise a count of the total number of content items falling intothe subset characterized by the current values of the variables assignedto the first adjustment characteristic. Where the values assigned to thevariables “rating” and “number of reviews” are “5.5” and “50”respectively, there may be a large subset of content items fallingwithin the set values. As such, and in order to reduce the number ofindicators that are displayed to the user, the user may narrow thesearch criteria by adjusting the values assigned to the variables“rating” and “number of reviews” to “8.5” and “70” respectively, byvirtue of adjusting the position of the touch input along the firstaxis. In this manner, the user may quickly access a set of searchresults for content items, and subsequently modify the returned set ofresults using a single touch input.

The actions or descriptions of FIG. 3 may be used with any otherembodiment of this disclosure. In addition, the actions and descriptionsdescribed in relation to FIG. 3 may be done in any suitable alternativeorders or in parallel to further the purposes of this disclosure.

It will be understood that the above example is intended to demonstratehow the present disclosure enables the simplified return andmodification of search results characterized by multiple variables, andin no way is intended to limit the disclosure to the example given.Indeed, with a growing volume of content items available to a user,there is a need for a user to be able to navigate a large amount ofcontent by modifying results for recommended content items, for exampledepending on their mood, their viewing environment, or some othercondition, without performing multiple searches and navigating forwardsand backwards through a series of menus to adjust the parameters forsearch criteria. As such, the present disclosure provides a method forfacilitating adjustment of multiple parameters when searching forrecommended content by virtue of a single touch input comprisingmultiple contact points. For example, FIG. 4 illustrates an exemplarysystem and method for facilitating adjustment of multiple variables thatcharacterize a search using a finger and thumb touch input in a similarmanner as the above examples using a touch input having a single contactpoint.

In the example shown in FIG. 4 , two pairs of axes have been generated,on a touchscreen of a user device 400, in a back-to-back arrangement ofa Cartesian coordinate plane (e.g., +x, −x, +y, −y), each of the axesdefining a scale for respective adjustment characteristics. For example,FIG. 4 shows an arrangement with a first pair of axes comprising a firstaxis 402 and a second axis 404, and a second pair of axes comprising athird axis 406 and a fourth axis 408. Each of the pairs of axes aregenerated and set out in a similar manner to that illustrated in FIGS.1A and 1B. Advantageously, the example shown in FIG. 4 allows for thesimultaneous adjustment of many, e.g., 6 to 8 variables, or more, usinga single touch input. For example, the first and second adjustmentcharacteristics may be assigned variables in a manner similar to thatdescribed for the example shown in FIGS. 1A and 1B, e.g., the firstadjustment characteristic of the first axis 402 may be assigned thevariable “rating” and the variable “release date”, and the secondadjustment characteristic may be assigned the broad variable “genre”.Given such a set-up, the user is able to quickly search forrecommendations by adjusting the three variables simultaneously, e.g.,by scrolling through different genres and refining recommendations byrating and release date. However, given the plethora of content nowavailable from online streaming services, narrowing searches using thesethree variables, for example, may not be enough to provide the user withrelevant recommendations. Thus, use of the third and/or fourth axes 406,408 in combination with the first and second axes 402, 404 provide theuser with the ability to control many different parameters at once whensearching for recommended content. For example, in addition to thevariables assigned to the first and second adjustment characteristics,the user may assign the variable “preferred actor (male)” and thevariable “preferred actor (female)” to a third adjustment characteristicof the third axis 406, and the variable “preferred director” to a fourthadjustment characteristic of the fourth axis 408. Each of the variables“preferred actor (male)”, “preferred actor (female)” and “preferreddirector” may be based upon one or more user preferences stored inmemory.

The example shown in FIG. 4 gives the user the ability to search forrecommended content items with great efficiency. For example, the userneed only assign the desired variables to respective adjustmentcharacteristics during the setup of the content guidance application,which enables the user to narrow search results in multiple ways usingany one of, or any combination of, the adjustment characteristics, e.g.,each time they use the content guidance application.

FIG. 5 is a flowchart representing an illustrative process 500 forfacilitating adjustment of multiple variables via a content guidanceapplication, which may be implemented by at least one of user device100, 400 and system 200, in accordance with some embodiments of thedisclosure.

At step 502, the number of variables selected by a user (and/orautomatically selected by the system 200, e.g., depending on usermetadata and/or one or more user preferences) for simultaneousadjustment is read. Step 502 may be referred to a variable countingstep. Using the example shown in FIG. 4 , the number of selectedvariables is 6: “rating”, “release date”, “genre”, “preferred actor(male)”, “preferred actor (female)”, and “preferred director”.

At step 504, it is determined if the number of variables is greater thana predetermined number, e.g., 4. In this example, the number 4 is usedsince it corresponds to the number of axes, e.g., axes 402, 404, 406 and408. However, in another example, the predetermined number may be anyappropriate number, which may correspond to the number of axes (ordimensions) in which the user wishes to control the search criteria.Where the number of variables is not greater than the predeterminednumber, process 500 continues to step 506, at which the identifiedvariables are read, i.e., the identity of each of the read variables isdetermined. Where the number of variables is greater than thepredetermined number, process 500 continues to step 508, at which therelevance of the variables is determined. For example, one or more ofthe selected variables may not relate to the context of searching forrecommended media content, e.g., one or more of the variables may relateto controlling the operation of user equipment devices, such as thevolume of audio equipment, and thus may be irrelevant in process 500.Where it is determined that one or more of the variables may not berelevant, process 500 moves to step 510, at which the variables areordered based on a measure of their relevance, e.g., using metadatastored in memory that describes the variable and the search context(s)that it relates to. At step 512, the least relevant variable iseliminated from the set of selected variables, and process 500 returnsto step 504, where it is again determined if the number of variables isgreater than the predetermined number.

Returning to step 508, where it is determined that all of the variablesare relevant, which is the case in the present example, process 500moves to step 514, where the number of variables are reduced to thepredetermined number, e.g., 4, using a dimension reduction technique,such as principal component analysis (PCA), and/or any other suitabletechnique. For example, the variables “preferred actor (male)” and“preferred actor (female)” may be reduced to a single dimension, sincethey are each a subset of a broader variable “preferred actor”, and thevariables “rating” and “release date” may be reduced to a singledimension, since they are both quantitative variables and may berepresented by a numerical value. However, the variables may be reduceddimensionally based on any suitable criteria. Upon reducing the numberof variables to the predetermined number, process 500 continues to step506, at which the identified variables are read, i.e., the identity ofeach of the read variables is determined.

At step 516, an ordinal label “i” is assigned, e.g., arbitrarily, to thevariables. For example, after the dimensional reduction of step 514, thedimensionally reduced variable “rating-release date” may be assigned theordinal label “i=1”, the variable “genre” may be assigned the ordinallabel “i=2”, the variables “preferred actor (male)” and “preferred actor(female)” may be assigned the ordinal label “i=3”, and the variable“preferred director” may be assigned the ordinal label “i=4”. However,the variables may be assigned any appropriate ordinal label. At step518, the first ordinal label “i=1” is selected.

At step 520, it is determined if the selected ordinal label represents aquantitative variable or a qualitative variable. Where it is determinedthat the selected ordinal label represents a quantitative variable,which is the case for “i=1”, process 500 moves to step 522, where thevariable is assigned to an axis, e.g., axis 402, defining a first scalefor a first adjustment characteristic. In this example, the ordinallabel “i=1” is assigned to axis 402, which defines a numerical scale forthe first adjustment characteristic, which represents both the variables“rating” and “release date”, e.g., the dimensionally reduced variable“rating-release date”.

At step 524, it is determined if the selected ordinal number “i=1”equals the final ordinal label, which in this case is “i=4”. At step526, the ordinal label is increased by “i+1”, and the process returns tostep 520, which determines if the next ordinal label “i=2” represents aquantitative variable or a qualitative variable. In the present example,the ordinal label “i=2” represents the variable “genre”, which is aqualitative variable, and so the process moves to step 528.

At step 528, it is determined if the ordinal label “i=2” requiresclustering. In this example, ordinal label “i=2” represents a singlevariable, “genre”, and thus does not require clustering, and the processmoves to step 530.

At step 530, the variable “genre” is ranked or ordered based on defaultcriteria and/or one or more user preferences. For example, the variable“genre” may be ordered alphabetically, or may be ranked based on one ormore user preferences for preferred or non-preferred genres, e.g., apreferred genre may receive a higher ranking and a non-preferred genremay receive a lower ranking In one example, a user preference might befor an alphabetical ordering. The process moves on to step 522, wherethe ranked/ordered variable “genre” is assigned to an axis, e.g., axis404, defining a second scale for a second adjustment characteristic. Inthis example, the ordinal label “i=2” is assigned to axis 404, whichdefines an alphabetical scale for the second adjustment characteristic,which represents the different genres listed in alphabetical order.

Process 500 then moves on to steps 524 and 526, and returns to step 520,which determines if the next ordinal label represents a quantitativevariable or a qualitative variable. In this case, the next ordinal labelis “i=3”, which represents the qualitative variables “preferred actor(male)” and “preferred actor (female)”. At step 528, it is determinedthat the ordinal label represents multiple variables, and, as such,requires clustering.

Process 500 moves to step 532, which determines if the multiplevariables are already clustered, have been clustered previously, and/orcan be clustered, e.g., according to an existing rule, user preferenceor (default) setting. Where the multiple variables can be clustered,process 500 moves to step 534, where previously generated clustering isretrieved and applied to the variables. For example, a previouslygenerated clustering for the variables “preferred actor (male)” and“preferred actor (female)” may be stored in memory, wherein thepreviously generated clustering defines a rule to combine the variablesand expand them into a broader variable “preferred actor”, or a rule tocombine the variables and weight one of the variables higher than theother. For example, the variable “preferred actor (male)” may receive aweighting half that as for the variable “preferred actor (female)”,since one or more user preferences and/or settings indicate that theuser is more interested in watching movies with female lead roles, asopposed to male lead roles. Where it is determined that no previouslyapplied rule can be used to cluster the variables, process 500 moves tostep 536, which generates a new rule or setting, e.g., automaticallyusing one or more user preferences, manually, e.g., by requesting inputfrom the user, and/or using one or more (default) settings stored inmemory. At step 538, the separate variables “preferred actor (male)” and“preferred actor (female)” are replaced by the clustered variable“preferred actor (male)-preferred actor (female)”, and the process moveson to step 530, where the (clustered) variable is ranked or ordered in asimilar manner to that described in the example shown in FIGS. 1 and 2for the variable “genre=romantic comedy”, i.e., the clustered variableis ranked and ordered by how well the clustered variable “preferredactor (male)-preferred actor (female)” matches user preferences forpreferred and non-preferred male and female actors.

The process moves on to step 522, where the ranked/ordered variable“preferred actor (male)-preferred actor (female)” is assigned to anaxis, e.g., axis 406, defining a third scale for a third adjustmentcharacteristic. In this example, the ordinal label “i=3” is assigned toaxis 406, which defines a scale defined by one or more user preferencesfor the third adjustment characteristic, which represents the variables“preferred actor (male)-preferred actor (female)”.

Process 500 then repeats steps 524, 526, 520, 528 and 530 in respect ofthe last ordinal label “i=4”, which represents the variable “preferreddirector”. At step 522, the ranked/ordered variable “preferred director”is assigned to an axis, e.g., axis 408, defining a fourth scale for afourth adjustment characteristic. In this example, the ordinal label“i=4” is assigned to axis 408, which defines a scale defined by one ormore user preferences for the fourth adjustment characteristic, whichapply to the variable “preferred director”.

At step 524, process 500 determines that the ordinal label “i=4” equalsthe predetermined number and moves on to step 540.

At step 540, the media content guidance application is configured tosimultaneously adjust each of the variables assigned to the first tofourth adjustment characteristics, as set out above. At this stage inprocess 500, the content guidance application is set up to receive oneor more user touch inputs.

At step 542, a touch input, e.g., comprising a first touch event havinga contact point relating to the contact point of the finger in theexample shown in FIG. 4 , is detected having a component along the firstaxis 402 for adjusting the variable assigned to the first adjustmentcharacteristic and a component along the second axis 404 for adjustingthe variable assigned to the second adjustment characteristic. However,the first touch event may result in the simultaneous adjustment of anytwo of the four variables depending on which variables have beenassigned to which ordinal labels at step 516.

At step 544, a second touch event of the touch input, e.g., a secondtouch event having a contact point relating to the contact point of thethumb in the example shown in FIG. 4 , is detected having a componentalong the third axis 406 for adjusting the variable assigned to thethird adjustment characteristic and a component along the fourth axis408 for adjusting the variable assigned to the fourth adjustmentcharacteristic.

At step 546, a database is accessed listing the values associated witheach variable upon detection of at least one touch event of the touchinput, e.g., depending on the position of the contact point(s) of thetouch input. In the example shown in FIG. 4 , the values associated withthe first and second variables correspond to the position of the firstcontact point of the touch input (finger) in relation to the first andsecond axes respectively, and the values associated with the third andfourth variables correspond to the position of the second contact pointof the touch input (thumb) in relation to the third and fourth axesrespectively. In the context of the present disclosure, the term “value”is to be interpreted broadly in relation to a variable, and is intendedto include a numerical value, e.g., a date, or a rating, and anon-numerical value, e.g., a lexical value, where the variable describesa set of actors. For example, a non-numerical value may be a letter or aword. An example of the display of the values associated with variablesis shown in FIG. 1A (see display item 114).

At step 548, new variable values are determined based on modifiedpositions of the first and second contact points of the touch input,e.g., as a user moves their finger and thumb relative to the axes. Anexample of the display of updated values associated with the variablesas a result of movement of the user's touch input is shown in FIG. 1B(see display item 116).

At step 550, the system sets the values of the variables, e.g., to beused as the parameters for a search for recommended content. The valuesmay be set upon determination that the touch input has ended, e.g., whenthe user removes their finger and thumb from the user device 400. Usingthe example shown in FIG. 4 , the first variable may be set to“rating=5.5, release date>1995”, “genre=action”, “preferred actor(male)-preferred actor (female)=90%” and “preferred director=0%”. Inthis case, the user's current interest is in older action movies havingan above-average rating with well-preferred actors. However, in thiscase, the user is not interested in who directed the movie. Userpreferences may indicate that Brad Pitt is a preferred male actor, andAngelina Jolie is a preferred female actor.

At step 552, it is determined whether a further touch input is received,for example if the user wishes to further adjust the set values of thevariables. Where a further touch input is received, process 500 repeatssteps 542, 544, 546, 548 and 550. Where no further touch input isreceived, e.g., within a predetermined period, such as 1 second, or 5seconds, process 500 concludes at step 554 by retrieving recommendationsfor content items corresponding to the values set at step 550.Continuing with the above example, a list of recommended content itemsmay include, but not be limited to, the movies: “Lara Croft: TombRaider” (release date=2001, rating=5.8/10, genre=action/adventure,female actor=Angelina Jolie, director=Simon West); “Fight Club” (releasedate=1999, rating=8.8/10, genre=action/thriller, male actor=Brad Pitt,director=David Fincher); “Mr. & Mrs. Smith” (release date=2005,rating=6.5/10, genre=action/comedy, male actor=Brad Pitt, femaleactor=Angelina Jolie, director=Doug Liman).

The actions or descriptions of FIGS. 4 and 5 may be used with any otherembodiment of this disclosure. In addition, the actions and descriptionsdescribed in relation to FIGS. 4 and 5 may be done in any suitablealternative orders or in parallel to further the purposes of thisdisclosure.

The processes described above are intended to be illustrative and notlimiting. One skilled in the art would appreciate that the steps of theprocesses discussed herein may be omitted, modified, combined, and/orrearranged, and any additional steps may be performed without departingfrom the scope of the invention. More generally, the above disclosure ismeant to be exemplary and not limiting. Only the claims that follow aremeant to set bounds as to what the present invention includes.Furthermore, it should be noted that the features and limitationsdescribed in any one embodiment may be applied to any other embodimentherein, and flowcharts or examples relating to one embodiment may becombined with any other embodiment in a suitable manner, done indifferent orders, or done in parallel. In addition, the systems andmethods described herein may be performed in real time. It should alsobe noted that the systems and/or methods described above may be appliedto, or used in accordance with, other systems and/or methods.

1-40. (canceled)
 41. A method comprising: generating, for display via agraphical user interface, a first axis defining a first scale for afirst adjustment characteristic, assigning a plurality of firstvariables stored in memory to the first adjustment characteristic,wherein the plurality of first variables correspond to variables ofcontent items of a set of content items; receiving an input of aposition having a component along the first axis for adjusting the firstadjustment characteristic; and in response to receiving the input:adjusting the plurality of the first variables assigned to the firstadjustment characteristic based on the input and the first scale; andgenerating for display, the content items based on the adjustedplurality of first variables.
 42. The method of claim 41, furthercomprising: generating, for display via the graphical user interface, asecond axis defining a second scale for a second adjustment character;assigning at least one second variable stored in memory to the secondadjustment characteristic; in response to receiving the input,determining that the input also has a component along the second axis,and adjusting the at least one second variable assigned to the secondadjustment characteristic.
 43. The method of claim 42, furthercomprising automatically assigning variables to the second adjustmentcharacteristic based on the assignment of at least one of the pluralityof variables to the first adjustment characteristic.
 44. The method ofclaim 41, wherein adjusting the plurality of first variables comprisesat least one of: a numerical value, alphabetical character associatedwith the variable, or a user preference associated with the variable.45. The method of claim 41, further comprising displaying an option toadjust the scale of at least one of the plurality of the firstvariables.
 46. The method of claim 41, further comprising displayingrelative values of the assigned variables corresponding to receivedinput.
 47. The method of claim 46, wherein the displaying relativevalues of the assigned variables is updated in real time as the inputchanges.
 48. The method of claim 41, further comprising clusteringvariables that represent similar characteristics.
 49. The method ofclaim 41, further comprising: determining the plurality of firstvariables is greater than a predetermined number; determining therelevance of the plurality of first variables; ordering the plurality offirst variables, using metadata stored in memory that describes theplurality of first variables and the search context that it relates to,based on their relevance; and eliminating a variable determined to beleast relevant based on the ordering from the plurality of firstvariables.
 50. The method of claim 41, further comprising setting thefirst adjustment characteristic to a minimum threshold based ondetecting the input.
 51. A system comprising: a memory; a graphical userinterface; and control circuitry configured to: generate, for displayvia a graphical user interface, a first axis defining a first scale fora first adjustment characteristic, assign a plurality of first variablesstored in memory to the first adjustment characteristic, wherein theplurality of first variables correspond to variables of content items ofa set of content items; receive an input of a position having acomponent along the first axis for adjusting the first adjustmentcharacteristic; and in response to receiving the input: adjust theplurality of the first variables assigned to the first adjustmentcharacteristic based on the input and the first scale; and generate fordisplay, the content items based on the adjusted plurality of variables.52. The system of claim 51, wherein the control circuitry is furtherconfigured to: generate, for display via the graphical user interface, asecond axis defining a second scale for a second adjustment character;assign at least one second variable stored in memory to the secondadjustment characteristic; in response to receiving the input,determining that the input also has a component along the second axis,and adjust, the at least one second variable assigned to the secondadjustment characteristic.
 53. The system of claim 52, wherein thecontrol circuity is further configured to automatically assign variablesto the second adjustment characteristic based on the assignment of atleast one of the plurality of variables to the first adjustmentcharacteristic.
 54. The system of claim 51, wherein adjusting theplurality of first variables comprises at least one of: a numericalvalue, alphabetical character associated with the variable, or a userpreference associated with the variable.
 55. The system of claim 51,wherein the control circuitry is further configured to display an optionto adjust the scale of at least one of the plurality of the firstvariables.
 56. The system of claim 51, wherein the control circuitry isfurther configured to display relative values of the assigned variablescorresponding to received input.
 57. The system of claim 56, wherein thedisplayed relative values of the assigned variables are updated in realtime as the input changes.
 58. The system of claim 51, wherein thecontrol circuitry is further configured to cluster variables thatrepresent similar characteristics.
 59. The system of claim 51, whereinthe control circuitry is further configured to: determine the pluralityof first variables is greater than a predetermined number; determine therelevance of the plurality of first variables; order the plurality offirst variables, using metadata stored in memory that describes theplurality of first variables and the search context that it relates to,based on their relevance; and eliminate a variable determined to beleast relevant based on the ordering from the plurality of firstvariables.
 60. The system of claim 51, wherein the control circuitry isfurther configured to set the first adjustment characteristic to aminimum threshold based on detecting the input.